home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / libs / sphigs / sph_mac.hqx / SRGP port to 5.0 (compressed) / SRGP_SPHIGS Root / MacSRGP / Applications / testrubber.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-02-13  |  1.6 KB  |  54 lines

  1. #include "srgp.h"
  2. #include <stdio.h>
  3.  
  4. #include "testrubber.proto.h"
  5.  
  6. /* TEST OF LOCATOR DEVICE RUBBER LINE ECHO MODE */
  7.  
  8. /* Also tests the keyboard in raw mode. */
  9.  
  10. /* A left button press adds the new point to the polyline.
  11.    A right button press sets a new anchor point.
  12.    A middle button press is never seen (masked out).
  13.    Hitting 'Q' at any time should cause the application to exit.
  14.    */
  15.  
  16. main(void)
  17. {
  18.    locator_measure locmeasure, pastlocmeasure;
  19.    char keymeasure[81];
  20.    int whichdev;
  21.  
  22.  
  23.    SRGP_begin ("Test of rubber echo", 800,800,1,FALSE);
  24.  
  25.    SRGP_setLocatorEchoType(CURSOR);
  26.    SRGP_setLocatorButtonMask(LEFT_BUTTON_MASK | RIGHT_BUTTON_MASK);
  27.    pastlocmeasure.position = SRGP_defPoint(5,5);
  28.    SRGP_setLocatorMeasure(pastlocmeasure.position);
  29.    SRGP_setKeyboardProcessingMode (RAW);
  30.    SRGP_setInputMode(LOCATOR, EVENT);   
  31.    SRGP_setInputMode(KEYBOARD, EVENT);
  32.    SRGP_setLocatorEchoRubberAnchor(pastlocmeasure.position);
  33.    SRGP_setLocatorEchoType (RUBBER_LINE);
  34.    SRGP_setLineStyle(DASHED);
  35.  
  36.    while (1) {
  37.       whichdev = SRGP_waitEvent(INDEFINITE);
  38.       if (whichdev == KEYBOARD) {
  39.         SRGP_getKeyboard(keymeasure,80);
  40.         if (keymeasure[0] == 'Q') break;
  41.       }
  42.       else {
  43.          SRGP_getLocator(&locmeasure);
  44.          SRGP_setLocatorEchoRubberAnchor(locmeasure.position);
  45.      if (locmeasure.button_of_last_transition == LEFT_BUTTON)
  46.         SRGP_line(pastlocmeasure.position, locmeasure.position);
  47.      SRGP_beep();
  48.          pastlocmeasure = locmeasure;
  49.      /* Swallow the UP event. */
  50.          while(LOCATOR!=SRGP_waitEvent(INDEFINITE));
  51.       }
  52.    }
  53. }
  54.